home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
util1
/
yk211src.lha
/
Yak_2.11_Src
/
Include
/
handlers.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-10-18
|
3KB
|
107 lines
/*
* YakHandler structure definition
*/
typedef struct {
CxObj *CxObj; /* cx object list */
void (*HandlerFunction)(void); /* function to attach to CxObj */
UWORD State; /* hotkey state, 0 = not active */
ULONG Event; /* Event to use for hotkey */
UWORD RequiredClicks; /* Simple, Double or triple Click required */
UWORD Options; /* Options */
char *KeyDef; /* actual key definition */
PatternData ScreenPatternData; /* Screens where the handler is active */
} YakHandler;
#define NUM_HANDLERS 3
GLOBAL YakHandler MouseCyclingHandlers[NUM_HANDLERS];
GLOBAL YakHandler DEF_MOUSECYCLING[NUM_HANDLERS];
/* Short names */
#define Window_To_Front MouseCyclingHandlers[0]
#define Window_To_Back MouseCyclingHandlers[1]
#define ScreenCycling MouseCyclingHandlers[2]
/*************************/
/* WindowToFront options */
/*************************/
#define Opt_ScreenToFront 1
#define Opt_ExcludeWbWindow 2
/************************/
/* WindowToBack options */
/************************/
#define Opt_ScreenToBack 1
/********************/
/* Default settings */
/********************/
#define DEF_TOFRONT_HOTKEY "RawMouse LeftButton Mouse_LeftPress"
#define DEF_TOFRONT_CLICKS 2
#define DEF_TOFRONT_OPTIONS (Opt_ScreenToFront|Opt_ExcludeWbWindow)
#define WINDOW_TOFRONT_EVENT 2L
#define DEF_TOBACK_HOTKEY "RawMouse LeftButton RButton Mouse_RightPress"
#define DEF_TOBACK_CLICKS 1
#define DEF_TOBACK_OPTIONS (Opt_ScreenToBack)
#define WINDOW_TOBACK_EVENT 3L
#define DEF_SCREENCYCLING_HOTKEY "RawMouse MidButton Mouse_MiddlePress"
#define DEF_SCREENCYCLING_CLICKS 2
#define DEF_SCREENCYCLING_OPTIONS 0
#define SCREENCYCLING_EVENT 4L
#define DEF_SCREENPATTERN {"#?", NULL}
GLOBAL ULONG clicksigflag, intuiopsigflag, blankscreensigflag, depthscreensigflag;
GLOBAL void (*intui_routine)(APTR); /* for intui_op's */
GLOBAL APTR intui_parameter;
/* for AutoActivateWindow - why? */
#define SCREEN 0
#define AUTO 1
#define KEY 2
#define RMBACT 3
/* Prototypes for functions defined in Handlers.c */
STACKARGS void MyScreenToBack(struct Screen *scr);
STACKARGS void MyScreenToFront(struct Screen *scr);
__regargs void ActivateMouseWindow(BYTE why);
void BlankScreen(void);
void UnBlankScreen(void);
void BlankScreen(void);
void TurnMouseOn(void);
struct Screen *ScreenUnderMouse(void);
void EndMainHandler (void);
BOOL InitMainHandler (void);
VOID ToggleMouseCycling (void);
VOID FreeMouseCyclingPatterns(VOID);
VOID CleanMouseCycling (VOID);
VOID InitMouseCyclingPatterns(VOID);
struct Window *WindowUnderMouse(VOID);
long CompatibleParseIX(char *I_Description, IX *ix);
#if defined(PREFS) || defined(CONV)
# define WindowToFrontHandler NULL
# define WindowToBackHandler NULL
# define ScreenCyclingHandler NULL
#else
VOID WindowToFrontHandler (VOID);
VOID WindowToBackHandler (VOID);
VOID ScreenCyclingHandler (VOID);
#endif